home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / CUGUK / COMMS / C101.ZIP / UUPC11XS.ZIP / MAIL / MAIL.H < prev    next >
C/C++ Source or Header  |  1992-11-21  |  4KB  |  103 lines

  1. #ifndef __MAIL
  2. #define __MAIL
  3.  
  4. /*--------------------------------------------------------------------*/
  5. /*    Common defines and data structures for UUPC/extended            */
  6. /*                                                                    */
  7. /*    Copyright (c) 1989, 1991 Andrew H. Derbyshire                   */
  8. /*--------------------------------------------------------------------*/
  9.  
  10. #define  MISSING  -1L      /* Line not found in this mail header   ahd     */
  11.  
  12. #define LSIZE  256
  13.  
  14. #define MAXADDRS 300
  15.  
  16. /*--------------------------------------------------------------------*/
  17. /*    Structure for tracking mail in the mailbox.                     */
  18. /*--------------------------------------------------------------------*/
  19.  
  20. typedef enum {
  21.       M_UNREAD,
  22.       M_READ,
  23.       M_SAVED,
  24.       M_FORWARDED,
  25.       M_ANSWERED,
  26.       M_DELETED }
  27.       MSTATUS;
  28.  
  29. static struct ldesc {
  30.    MSTATUS status;         /* status of this message  */
  31.    long adr;               /* address of From line    */
  32.    long date;              /* address of Date: line   */
  33.    long subject;           /* address of Subject: line   */
  34.    long from;              /* address of From: line   */
  35.    long replyto;           /* address of Reply-To: line   */
  36.    long lines;             /* number of lines         */
  37. };
  38.  
  39. /*--------------------------------------------------------------------*/
  40. /*                        Enumerated Verb list                        */
  41. /*--------------------------------------------------------------------*/
  42.  
  43. typedef enum {  M_ALIAS,
  44.                 M_COPY,
  45.                 M_DEBUG,
  46.                 M_DELETE,
  47.                 M_DELETEQ,
  48.                 M_DOWN,
  49.                 M_EMPTY,
  50.                 M_EXIT,
  51.                 M_EXTPRINT,
  52.                 M_EXTTYPE,
  53.                 M_FORWARD,
  54.                 M_FASTHELP,
  55.                 M_GOTO,
  56.                 M_HEADERS,
  57.                 M_HELP,
  58.                 M_INTPRINT,
  59.                 M_INTTYPE,
  60.                 M_INVALID,
  61.                 M_MAIL,
  62.                 M_NOOP,
  63.                 M_QUIT,
  64.                 M_REPLY,
  65.                 M_SAVE,
  66.                 M_SET,
  67.                 M_STATUS,
  68.                 M_SYSTEM,
  69.                 M_UNDELETE,
  70.                 M_UP,
  71.                 M_WRITE
  72.                 } ACTION;
  73.  
  74. /*--------------------------------------------------------------------*/
  75. /*                        Bit flags for verbs                         */
  76. /*--------------------------------------------------------------------*/
  77.  
  78. #define AUTOPRINT     0x0001
  79. #define FILE_OP       0x0002
  80. #define INTEGER_OP    0x0004
  81. #define LETTER_OP     0x0008
  82. #define NO_OPERANDS   0x0010
  83. #define NOPRINT       0x0020
  84. #define POSITION      0x0040
  85. #define START_TOP     0x0080
  86. #define STRING_OP     0x0100
  87. #define TOKEN_OP      0x0200
  88. #define USER_OP       0x0400
  89. #define NODISPLAY     0x0800  /* Do not display during help */
  90.  
  91. /*--------------------------------------------------------------------*/
  92. /*               Options for copying mail between files               */
  93. /*--------------------------------------------------------------------*/
  94.  
  95. typedef enum { noheader,         /* Don't copy RFC-822 header or sep lines */
  96.                fromheader,       /* Generate one line "From" description   */
  97.                noreceived,       /* Copy header, but not ignorelist        */
  98.                nocontinue,       /* Do not copy next line if contination   */
  99.                noseperator,      /* Copy all but binary seperator lines    */
  100.                seperators } copyopt;   /* Copy everything!                 */
  101.  
  102. #endif
  103.